package com.xgzit.xgzmall.product.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xgzit.common.utils.PageUtils;
import com.xgzit.xgzmall.product.entity.SkuInfoEntity;
import com.xgzit.xgzmall.product.entity.SpuInfoEntity;
import com.xgzit.xgzmall.product.vo.SkuItemVo;
import com.xgzit.xgzmall.product.vo.SpuSaveVo;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ExecutionException;

/**
 * sku信息
 *
 * @author xgz
 * @email 923904706@qq.com
 * @date 2021-03-20 14:49:08
 */
public interface SkuInfoService extends IService<SkuInfoEntity> {

    PageUtils queryPage(Map<String, Object> params);

    /**
    * 保存skuinfo信息
    * @param skuInfoEntity:
    * @return void
    */
    void saveSkuInfo(SkuInfoEntity skuInfoEntity);
    /**
    * 条件查询sku信息
    * @param params:
    * @return com.xgzit.common.utils.PageUtils
    */
    PageUtils queryPageByCondition(Map<String, Object> params);

    /**
    * 通过spuId查出 sku信息
    * @param spuId:
    * @return java.util.List<com.xgzit.xgzmall.product.entity.SkuInfoEntity>
    */
    List<SkuInfoEntity> getSkusBySpuId(Long spuId);

    /**
    * 查询商品详情
    * @param skuId:
    * @return com.xgzit.xgzmall.product.vo.SkuItemVo
    */
    SkuItemVo item(Long skuId) throws Exception;
    /**
    * 获取价格
    * @param skuId:
    * @return java.math.BigDecimal
    */
    BigDecimal getPrice(Long skuId);
}

